home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / mui / mui-tools / muiadt / src / adt.h < prev    next >
C/C++ Source or Header  |  1995-03-09  |  3KB  |  131 lines

  1. /* MUI */
  2. #include <libraries/mui.h>
  3.  
  4. /* System */
  5. #include <dos/dos.h>
  6. #include <graphics/gfxmacros.h>
  7. #include <workbench/workbench.h>
  8.  
  9. /* Prototypes */
  10. #include <clib/alib_protos.h>
  11. #include <clib/exec_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/icon_protos.h>
  14. #include <clib/graphics_protos.h>
  15. #include <clib/intuition_protos.h>
  16. #include <clib/gadtools_protos.h>
  17. #include <clib/utility_protos.h>
  18. #include <clib/asl_protos.h>
  19. #include <clib/muimaster_protos.h>
  20.  
  21. /* ANSI C */
  22. #include <stdlib.h>
  23. #include <string.h>
  24. #include <stdio.h>
  25.  
  26. #define REG(x) register __ ## x
  27.  
  28. #ifdef __MAXON__
  29. #define ASM
  30. #define SAVEDS
  31. #else
  32. #define ASM    __asm
  33. #define SAVEDS __saveds
  34. #endif
  35.  
  36. #include <pragmas/exec_pragmas.h>
  37. #include <pragmas/dos_pragmas.h>
  38. #include <pragmas/icon_pragmas.h>
  39. #include <pragmas/graphics_pragmas.h>
  40. #include <pragmas/intuition_pragmas.h>
  41. #include <pragmas/gadtools_pragmas.h>
  42. #include <pragmas/utility_pragmas.h>
  43. #include <pragmas/asl_pragmas.h>
  44. #include <pragmas/muimaster_pragmas.h>
  45.  
  46. extern struct Library *SysBase,*IntuitionBase,*UtilityBase,*GfxBase,*DOSBase,*IconBase;
  47.  
  48. #ifndef MAKE_ID
  49. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  50. #endif
  51.  
  52. #include <exec/memory.h>
  53. #include <float.h>
  54. #include <math.h>
  55. #include <stat.h>
  56. #include <fcntl.h>
  57. #include <dos.h>
  58.  
  59. #define FLAG_README 1<<1
  60. #define HAS_README(entry) (entry->flags & FLAG_README)
  61.  
  62. #define ID_Sort     1
  63. #define ID_View     2
  64. #define ID_Readme    3
  65. #define ID_Name     4
  66. #define ID_Get        5
  67. #define ID_AddHost    6
  68. //#define ID_Quit      7
  69. //#define ID_FilesDC      8
  70. #define ID_ReadNext    9
  71. #define ID_GetAbort    10
  72. #define ID_HostsConnect 11
  73. #define ID_Config    12
  74.  
  75. struct FileLineRec {
  76.     char *dir, *name, *size, *readme, *descr;
  77.     LONG time, intsize, flags, recsize;
  78. };
  79.  
  80. struct HostLineRec {
  81.     char country[30], host[30], dir[30];
  82. };
  83.  
  84. struct HostRec {
  85.     char country[30], host[30], dir[30];
  86.     APTR next;
  87. };
  88.  
  89. struct PrefsRec {
  90.     int defsort, defview;
  91.     char getdir[256], tmpdir[256], defcfg[256], server[256], uncomp[256];
  92.     LONG lasttime, thistime;
  93. };
  94.  
  95. void adt_status(char *);
  96. int read_prefs(void);
  97. int write_prefs(char *);
  98. void show_new(void);
  99. void show_recent(void);
  100. void show_tagged(void);
  101. void show_short(void);
  102. void clone_tagged(APTR);
  103. void copy_tagged(APTR);
  104. void copy_all(APTR);
  105. char *gettok(char **, char, int *);
  106. int get_parse(char *, APTR);
  107. int adt_parse_v1(FILE *, APTR);
  108. void readme(char *, char *);
  109. int get_file(char *, char *, int);
  110. APTR currentlv(void);
  111.  
  112. extern char *ftp_connect(char *, char *);
  113. extern int ftp_get(char *, LONG, char *);
  114. extern void joinpaths(char *, char *, char *);
  115.  
  116. static const char *DefHostList[] = {
  117.     "SCANDINAVIA:ftp.luth.se:pub/aminet/",
  118.     "SWITZERLAND:litamiga.epfl.ch:pub/aminet/",
  119.     "GERMANY:ftp.uni-kl.de:pub/aminet/",
  120.     "GERMANY:ftp.cs.tu-berlin.de:pub/aminet/",
  121.     "GERMANY:ftp.uni-erlangen.de:pub/aminet/",
  122.     "GERMANY:ftp.uni-paderborn.de:pub/aminet/",
  123.     "USA:wcarchive.cdrom.com:pub/aminet/",
  124.     "USA:ftp.etsu.edu:pub/aminet/",
  125.     "USA:wuarchive.wustl.edu:pub/aminet/",
  126.     "UK:src.doc.ic.ac.uk:pub/aminet/",
  127.     "AUSTRALIA:splat.aarnet.edu.au:pub/aminet/",
  128.     NULL
  129. };
  130.  
  131.